package servlets;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import classes.AccountManager;
import classes.PasswordManager;
import classes.User;

/**
 * Servlet implementation class ChangePass
 */
@WebServlet("/ChangePass")
public class ChangePass extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#HttpServlet()
	 */
	public ChangePass() {
		super();
		// TODO Auto-generated constructor stub
	}

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		String pass = request.getParameter("password");
		PrintWriter out = response.getWriter();
		if (pass.length() < 3 || pass == null) {
			out.println("<h1>Password length may not be less than three</h1>");
			out.println("<p> <a href= \"changePassword.jsp\">Try again </a> </p>");
		} else {
			// 124629
			HttpSession session = request.getSession();
			User user = (User) session.getAttribute("user");
			AccountManager.updateSomething(user.getUserName(), "password", PasswordManager.generatePassword(pass));
			RequestDispatcher dispatch = request
					.getRequestDispatcher("LoginPage.html");
			dispatch.forward(request, response);
		}
	}

}
